﻿using System;
using KPIS.GERP.GFMS.MODEL;
using System.Collections.Generic;

namespace KPIS.GERP.GFMS.IDAL
{
    public interface IDAL_HRM_PR_PayrollDtls
    {
        IList<M_HRM_PR_PayrollDtls> CalculateTax(Nullable<int> emp_type_seq
            , Nullable<int> pay_year, Nullable<int> pay_month);

        IList<M_HRM_PR_PayrollDtls> GetSummary(Nullable<int> emp_type_seq
            , Nullable<int> job_site_gfmis, Nullable<int> pay_year, Nullable<int> pay_month);

        IList<M_HRM_PR_PayrollDtls> GetFull(Nullable<int> emp_seq, string ext_flag, Nullable<int> pay_seq);
        IList<M_HRM_PR_PayrollDtls> GetSummaryByJobsiteGFMIS(Nullable<int> pay_seq, Nullable<int> ext_seq, string job_site_gfmis);
        IList<M_HRM_PR_PayrollDtls> GetFullFromMoneyReqSeq(Nullable<int> money_req_seq);

        M_HRM_PR_PayrollDtls GetInfo(int seq);
        string GetPaySeq(Nullable<int> emp_type_seq, Nullable<int> pay_year, Nullable<int> pay_month);

        void Insert(M_HRM_PR_PayrollDtls info);
        void Update(M_HRM_PR_PayrollDtls info);
        void Delete(M_HRM_PR_PayrollDtls info);
        void UpdateMoneyReqDtlsSeq(Nullable<int> pay_seq, Nullable<int> job_site_seq
            , Nullable<int> money_req_dtls_seq, Nullable<int> emp_seq);
        void ClearMoneyReqDtlsSeq(Nullable<int> pay_seq, Nullable<int> job_site_seq
            , Nullable<int> money_req_dtls_seq, Nullable<int> emp_seq);
    }
}
